package com.efast.dmom.mgmt.entity.les;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 库存移动单（表头）
 * </p>
 *
 * @author ChenLiPeng
 * @since 2018-05-16
 */
@TableName("tw_movement_header")
public class TwMovementHeader implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "tw_movement_header_id", type = IdType.AUTO)
    private Integer twMovementHeaderId;
    /**
     * 移库单编号 系统产生
     */
    @TableField("sheet_no")
    private String sheetNo;
    /**
     * 客户单据号
     */
    @TableField("cust_sheet_id")
    private String custSheetId;
    /**
     * 用户自定义1
     */
    private String userdefine1;
    /**
     * 用户自定义2
     */
    private String userdefine2;
    /**
     * 用户自定义3
     */
    private String userdefine3;
    /**
     * 用户自定义4
     */
    private String userdefine4;
    /**
     * 用户自定义5
     */
    private String userdefine5;
    /**
     * 移动类型
     */
    @TableField("sheet_type")
    private String sheetType;
    /**
     * 移动时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("move_time")
    private Date moveTime;
    /**
     * 原因代码
     */
    @TableField("reason_code")
    private String reasonCode;
    /**
     * 原因描述
     */
    @TableField("reason_desc")
    private String reasonDesc;
    /**
     * 移动单状态0新单1发布2完成3关闭4分配完成5部分分配
     */
    @TableField("sheet_status")
    private String sheetStatus;
    /**
     * 打印状态
     */
    @TableField("print_status")
    private String printStatus;
    /**
     * 备注1
     */
    private String note1;
    /**
     * 仓库/库区/库位id
     */
    @TableField("tm_bas_storage_id")
    private Integer tmBasStorageId;
    /**
     * 仓库编号
     */
    @TableField("warehouse_no")
    private String warehouseNo;
    /**
     * 审批人
     */
    private String auditor;
    /**
     * 审批时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("audit_time")
    private Date auditTime;
    /**
     * 备注2
     */
    private String note2;
    /**
     * 备注3
     */
    private String note3;
    /**
     * 备注4
     */
    private String note4;
    /**
     * 备注5
     */
    private String note5;
    /**
     * 是否激活
     */
    @TableField("mark_status")
    private Integer markStatus;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("create_time")
    private Date createTime;
    /**
     * 创建用户
     */
    @TableField("create_user")
    private String createUser;
    /**
     * 上次更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("last_update_time")
    private Date lastUpdateTime;
    /**
     * 更改用户
     */
    @TableField("last_update_user")
    private String lastUpdateUser;
    /**
     * 版本控制
     */
    @TableField("opt_counter")
    private Integer optCounter;
    /**
     * 企业代码
     */
    @TableField("company_code")
    private String companyCode;


    public Integer getTwMovementHeaderId() {
        return twMovementHeaderId;
    }

    public void setTwMovementHeaderId(Integer twMovementHeaderId) {
        this.twMovementHeaderId = twMovementHeaderId;
    }

    public String getSheetNo() {
        return sheetNo;
    }

    public void setSheetNo(String sheetNo) {
        this.sheetNo = sheetNo;
    }

    public String getCustSheetId() {
        return custSheetId;
    }

    public void setCustSheetId(String custSheetId) {
        this.custSheetId = custSheetId;
    }

    public String getUserdefine1() {
        return userdefine1;
    }

    public void setUserdefine1(String userdefine1) {
        this.userdefine1 = userdefine1;
    }

    public String getUserdefine2() {
        return userdefine2;
    }

    public void setUserdefine2(String userdefine2) {
        this.userdefine2 = userdefine2;
    }

    public String getUserdefine3() {
        return userdefine3;
    }

    public void setUserdefine3(String userdefine3) {
        this.userdefine3 = userdefine3;
    }

    public String getUserdefine4() {
        return userdefine4;
    }

    public void setUserdefine4(String userdefine4) {
        this.userdefine4 = userdefine4;
    }

    public String getUserdefine5() {
        return userdefine5;
    }

    public void setUserdefine5(String userdefine5) {
        this.userdefine5 = userdefine5;
    }

    public String getSheetType() {
        return sheetType;
    }

    public void setSheetType(String sheetType) {
        this.sheetType = sheetType;
    }

    public Date getMoveTime() {
        return moveTime;
    }

    public void setMoveTime(Date moveTime) {
        this.moveTime = moveTime;
    }

    public String getReasonCode() {
        return reasonCode;
    }

    public void setReasonCode(String reasonCode) {
        this.reasonCode = reasonCode;
    }

    public String getReasonDesc() {
        return reasonDesc;
    }

    public void setReasonDesc(String reasonDesc) {
        this.reasonDesc = reasonDesc;
    }

    public String getSheetStatus() {
        return sheetStatus;
    }

    public void setSheetStatus(String sheetStatus) {
        this.sheetStatus = sheetStatus;
    }

    public String getPrintStatus() {
        return printStatus;
    }

    public void setPrintStatus(String printStatus) {
        this.printStatus = printStatus;
    }

    public String getNote1() {
        return note1;
    }

    public void setNote1(String note1) {
        this.note1 = note1;
    }

    public Integer getTmBasStorageId() {
        return tmBasStorageId;
    }

    public void setTmBasStorageId(Integer tmBasStorageId) {
        this.tmBasStorageId = tmBasStorageId;
    }

    public String getAuditor() {
        return auditor;
    }

    public void setAuditor(String auditor) {
        this.auditor = auditor;
    }

    public Date getAuditTime() {
        return auditTime;
    }

    public void setAuditTime(Date auditTime) {
        this.auditTime = auditTime;
    }

    public String getNote2() {
        return note2;
    }

    public void setNote2(String note2) {
        this.note2 = note2;
    }

    public String getNote3() {
        return note3;
    }

    public void setNote3(String note3) {
        this.note3 = note3;
    }

    public String getNote4() {
        return note4;
    }

    public void setNote4(String note4) {
        this.note4 = note4;
    }

    public String getNote5() {
        return note5;
    }

    public void setNote5(String note5) {
        this.note5 = note5;
    }

    public Integer getMarkStatus() {
        return markStatus;
    }

    public void setMarkStatus(Integer markStatus) {
        this.markStatus = markStatus;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Date getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }

    public String getLastUpdateUser() {
        return lastUpdateUser;
    }

    public void setLastUpdateUser(String lastUpdateUser) {
        this.lastUpdateUser = lastUpdateUser;
    }

    public Integer getOptCounter() {
        return optCounter;
    }

    public void setOptCounter(Integer optCounter) {
        this.optCounter = optCounter;
    }

    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    public void setWarehouseNo(String warehouseNo) {
        this.warehouseNo = warehouseNo;
    }

    public String getWarehouseNo() {
        return warehouseNo;
    }

    @Override
    public String toString() {
        return "TwMovementHeader{" +
                ", twMovementHeaderId=" + twMovementHeaderId +
                ", sheetNo=" + sheetNo +
                ", custSheetId=" + custSheetId +
                ", userdefine1=" + userdefine1 +
                ", userdefine2=" + userdefine2 +
                ", userdefine3=" + userdefine3 +
                ", userdefine4=" + userdefine4 +
                ", userdefine5=" + userdefine5 +
                ", sheetType=" + sheetType +
                ", moveTime=" + moveTime +
                ", reasonCode=" + reasonCode +
                ", reasonDesc=" + reasonDesc +
                ", sheetStatus=" + sheetStatus +
                ", printStatus=" + printStatus +
                ", note1=" + note1 +
                ", tmBasStorageId=" + tmBasStorageId +
                ", auditor=" + auditor +
                ", auditTime=" + auditTime +
                ", note2=" + note2 +
                ", note3=" + note3 +
                ", note4=" + note4 +
                ", note5=" + note5 +
                ", markStatus=" + markStatus +
                ", createTime=" + createTime +
                ", createUser=" + createUser +
                ", lastUpdateTime=" + lastUpdateTime +
                ", lastUpdateUser=" + lastUpdateUser +
                ", optCounter=" + optCounter +
                ", companyCode=" + companyCode +
                "}";
    }
}
